<?php
namespace Admin\Controller;

use Think\Controller;

class ShowController extends RightController
{
    // 加载初始化内容页,并检索
    public function index()
    {
        //判断分页时搜索条件
        if (I("get.p")) {
            $where = session("QG_SEARCH_WHERE_show");
            $this->assign("params", session("QG_SEARCH_PARAMS_show"));
            $where = empty($where) ? "1" : $where;
            $pageSize = session("QG_SEARCH_SIZE_show");
        } else {
            //清除session存储
            session("QG_SEARCH_WHERE_show", null);
            session("QG_SEARCH_PARAMS_show", null);
            session("QG_SEARCH_SIZE_show", null);
            $pageSize = I("post.pageSize");

            $where = "1";
        }

        // POST数据提交，重新组合检索条件
        if (IS_POST) {
            unset($_GET["p"]);
            $where = $this->searchCondition();
        }

        // 分页输入
        if(empty($pageSize)){
            $pageSize = 10;
        }

        // 总条数
        $count = M('show')
            ->where($where)
            ->count();
        $page = new \Admin\Model\Page($count, $pageSize);
        $show = $page->show();

        // 进行分页数据查询
        $list = M('show')
            ->where($where)
            ->order('id DESC')
            ->limit($page->firstRow . ',' . $page->listRows)->select();

        // 统计
        $sum = M('show')
            ->field("count(1) as countNum")
            ->where($where)
            ->order('id DESC')
            ->find();

        // 渲染查询条件到session
        session("QG_SEARCH_WHERE_show", $where);
        session("QG_SEARCH_PARAMS_show", I("post."));
        session("QG_SEARCH_SIZE_show", $pageSize);
        session("QG_SEARCH_SIZE_show", $pageSize);

        // 输出数据
        $this->assign("params", I("post."));
        $this->assign('list', $list);
        $this->assign('sum', $sum);
        $this->assign('lists', array(
            "page" => getDropdownList("pageSize" , "" ,false)
        ));
        $this->assign('page', $show);
        $this->display();
    }

    // 搜索条件
    public function searchCondition()
    {
        $where = "1";

        // 标题
        if (I('post.title')) {
            // 精确
            if (I('post.titleCondition') == 1) {
                $where .= " AND title='" . I("post.title") . "'";
            } else {
                $where .= " AND title LIKE '%" . I("post.title") . "%'";
            }
        }

        return $where;
    }

    // 添加
    public function add()
    {
        if (IS_POST) {
            // 数据
            $data = array();

            // 标题
            $data['title'] = I('post.title');

            // 链接URL
            $data['url'] = I('post.url');

            // 图片
            $data['img'] = I('post.img');

            //分类
            $data['type'] = I('post.type');

            // 排序
            $data['sort'] = I('post.sort');
            if(intval(I('post.sort'))<0){
                $this->ajaxError("排序不能为负值！");
            }
            // 创建数据
            $result = M('show')->add($data);

            if ($result) {
                // 加载首页轮播图
                loadIndexShow();

                $this->ajaxSuccess("添加成功！");
            } else {
                $this->ajaxError("添加失败！");
            }
        } else {
            $lists = array(
                "lunboType" => getDropdownList('lunboType'),
            );
            $this->assign("lunboType", $lists);
            $this->display();
        }
    }

    // 编辑资料
    public function edit()
    {
        if (IS_POST) {
            $return = array();

            // ID
            $id = I("post.id");

            // 没有ID
            if(empty($id)){
                $this->ajaxError("错误！");
            }

            // 判断用户是否存在
            $dbData = M('show')
                ->where(array("id", $id))
                ->find();

            //判断用户是否存在
            if (empty($dbData)) {
                $this->ajaxError("数据不存在！");
            }

            // 更新数据
            $data = array();

            // 标题
            $data['title'] = I('post.title');

            // 地址
            $data['url'] = I('post.url');

            //分类
            $data['type'] = I('post.type');


            // 图片
            $data['img'] = I('post.img');

            // 排序
            $data['sort'] = I('post.sort');
            if(intval(I('post.sort'))<0){
                $this->ajaxError("排序不能为负值！");
            }
            // 更新数据
            $result = M('show')
                ->where(array("id" => $id))
                ->save($data);

            // 如果成功
            if ($result !== false) {
                // 加载首页轮播图
                loadIndexShow();

                $this->ajaxSuccess("更新成功！");
            } else {
                $this->ajaxError("更新失败！");
            }
        } else {
            // ID
            $id = intval(I("get.id"));

            // 判断是否存在
            $data = M('show')
                ->where(array("id" => $id))
                ->find();

            // 判断是否存在
            if (empty($data)) {
                $this->error("数据不存在");
            }

            $this->assign("data", $data);
            $this->display();
        }
    }

    // 删除
    public function delete()
    {
        if (IS_POST) {
            // ID
            $id = intval(I("post.id"));

            // 没有ID
            if(empty($id)){
                $this->ajaxError("错误！");
            }

            // 数据
            $result = M('show')->where(array("id" => $id))->delete();

            // 如果成功
            if ($result) {
                // 加载首页轮播图
                loadIndexShow();

                $this->ajaxSuccess("删除成功！");
            } else {
                $this->ajaxError("删除失败！");
            }
        }
    }
}